home *** CD-ROM | disk | FTP | other *** search
-
- #include "../CGVPMacro.csi"
-
-
- VertAttributes { TANG_3X3 }
- MainInput { VIEWPROJ_MATRIX, uniform float3 LightPos, ATTEN }
- DeclarationsScript
- {
- IN_T0_C0_TANG
- OUT_T0_T1_T2_C0_C1
- }
- PositionScript = PosCommon
- CoreScript
- {
- OUT.Tex0.xy = IN.TexCoord0.xy;
- OUT.Tex1.xy = IN.TexCoord0.xy;
-
- TANG_MATR
-
- // store normalized light vector
- float3 lightVec = mul(objToTangentSpace, LightPos.xyz - vPos.xyz);
-
- float3 vDist = PROC_ATTENPIX;
- // transform light vector from object space to tangent space and pass it as a tex coords
- OUT.Tex2.xyz = vDist;
- OUT.Color.w = vDist.z;
-
- float fDirect = (AttenInfo.z - AttenInfo.y) * AttenInfo.w;
- OUT.Color1.xyz = AttenInfo.y * normalize(lightVec) * fDirect.x + AttenInfo.y;
- }
-